Skip to content

chore: cargo clippy fixes to prepare for the rustc upgrade: 1.95.0 -> 1.97.0#10732

Merged
basvandijk merged 20 commits into
masterfrom
rustc-1.97.0
Jul 14, 2026
Merged

chore: cargo clippy fixes to prepare for the rustc upgrade: 1.95.0 -> 1.97.0#10732
basvandijk merged 20 commits into
masterfrom
rustc-1.97.0

Conversation

@basvandijk

@basvandijk basvandijk commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

cargo clippy fixes to prepare for upgrading to rustc-1.97.0.

mraszyk and others added 14 commits July 8, 2026 14:01
This PR bumps the Rust version to v1.95.0.

## Canbench summary


===================================================================================
## ckBTC minter
target:       //rs/bitcoin/ckbtc/minter:ckbtc_minter_canbench
results file: rs/bitcoin/ckbtc/minter/canbench/results.yml

===================================================================================

Summary:
  instructions:
    status:   Improvements detected 🟢
    counts:   [total 7 | regressed 0 | improved 7 | new 0 | unchanged 0]
change: [max -163.50K | p75 -163.64K | median -163.68K | p25 -163.68K |
min -164.78K]
change %: [max -38.39% | p75 -38.72% | median -38.78% | p25 -38.81% |
min -38.99%]

  heap_increase:
    status:   No significant changes 👍
    counts:   [total 7 | regressed 0 | improved 0 | new 0 | unchanged 7]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

  stable_memory_increase:
    status:   No significant changes 👍
    counts:   [total 7 | regressed 0 | improved 0 | new 0 | unchanged 7]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

---------------------------------------------------

Only significant changes:
| status | name | calls | ins | ins Δ% | HI | HI Δ% | SMI | SMI Δ% |

|--------|------------------------------------------------------------------------------------|-------|---------|---------|----|--------|-----|---------|
| - |
build_estimate_retrieve_btc_fee_1_50k_sats::build_unsigned_transaction_from_inputs
| 1 | 3.26K | -3.03% | 0 | 0.00% | 0 | 0.00% |
| - |
build_unsigned_transaction_1_50k_sats::build_unsigned_transaction_from_inputs
| 1 | 3.26K | -3.03% | 0 | 0.00% | 0 | 0.00% |
| - |
build_unsigned_transaction_2_100k_sats::build_unsigned_transaction_from_inputs
| 1 | 3.26K | -3.03% | 0 | 0.00% | 0 | 0.00% |
| - |
build_unsigned_transaction_3_1m_sats::build_unsigned_transaction_from_inputs
| 1 | 3.26K | -3.03% | 0 | 0.00% | 0 | 0.00% |
| - |
build_unsigned_transaction_4_10m_sats::build_unsigned_transaction_from_inputs
| 1 | 3.26K | -3.03% | 0 | 0.00% | 0 | 0.00% |
| - |
build_unsigned_transaction_5_1_btc::build_unsigned_transaction_from_inputs
| 1 | 3.26K | -3.03% | 0 | 0.00% | 0 | 0.00% |
| - |
build_unsigned_transaction_6_10_btc::build_unsigned_transaction_from_inputs
| 1 | 3.70K | -3.50% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_3_1m_sats::greedy | 1 | 3.06K | -13.00%
| 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_2_100k_sats::greedy | 1 | 4.43K |
-13.30% | 0 | 0.00% | 0 | 0.00% |
| - | build_estimate_retrieve_btc_fee_1_50k_sats::greedy | 1 | 4.38K |
-13.42% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_1_50k_sats::greedy | 1 | 4.38K |
-13.42% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_4_10m_sats::greedy | 1 | 4.08K |
-14.15% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_5_1_btc::greedy | 1 | 4.08K | -14.15% |
0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_6_10_btc::greedy | 1 | 11.85K | -14.40%
| 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_6_10_btc | | 264.48K | -38.39% | 0 |
0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_6_10_btc::build_unsigned_transaction |
1 | 261.93K | -38.61% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_4_10m_sats | | 259.10K | -38.72% | 0 |
0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_5_1_btc | | 259.10K | -38.72% | 0 |
0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_3_1m_sats | | 258.14K | -38.78% | 0 |
0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_2_100k_sats | | 258.06K | -38.81% | 0 |
0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_1_50k_sats | | 258.02K | -38.81% | 0 |
0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_4_10m_sats::build_unsigned_transaction
| 1 | 256.56K | -38.94% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_5_1_btc::build_unsigned_transaction | 1
| 256.56K | -38.94% | 0 | 0.00% | 0 | 0.00% |
| - | build_estimate_retrieve_btc_fee_1_50k_sats | | 255.97K | -38.99% |
0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_3_1m_sats::build_unsigned_transaction |
1 | 255.59K | -39.01% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_2_100k_sats::build_unsigned_transaction
| 1 | 255.52K | -39.04% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_1_50k_sats::build_unsigned_transaction
| 1 | 255.47K | -39.04% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_6_10_btc::utxos_selection | 1 | 256.06K
| -39.12% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_4_10m_sats::utxos_selection | 1 |
251.12K | -39.43% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_5_1_btc::utxos_selection | 1 | 251.12K
| -39.43% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_3_1m_sats::utxos_selection | 1 |
250.16K | -39.50% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_2_100k_sats::utxos_selection | 1 |
250.08K | -39.53% | 0 | 0.00% | 0 | 0.00% |
| - | build_estimate_retrieve_btc_fee_1_50k_sats::utxos_selection | 1 |
250.03K | -39.53% | 0 | 0.00% | 0 | 0.00% |
| - | build_unsigned_transaction_1_50k_sats::utxos_selection | 1 |
250.03K | -39.53% | 0 | 0.00% | 0 | 0.00% |

ins = instructions, HI = heap_increase, SMI = stable_memory_increase, Δ%
= percent change


===================================================================================
## ckETH minter
target:       //rs/ethereum/cketh/minter:cketh_minter_canbench
results file: rs/ethereum/cketh/minter/canbench/results.yml

===================================================================================

Summary:
  instructions:
    status:   Improvements detected 🟢
    counts:   [total 1 | regressed 0 | improved 1 | new 0 | unchanged 0]
change: [max -108.95M | p75 -108.95M | median -108.95M | p25 -108.95M |
min -108.95M]
change %: [max -11.11% | p75 -11.11% | median -11.11% | p25 -11.11% |
min -11.11%]

  heap_increase:
    status:   No significant changes 👍
    counts:   [total 1 | regressed 0 | improved 0 | new 0 | unchanged 1]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

  stable_memory_increase:
    status:   No significant changes 👍
    counts:   [total 1 | regressed 0 | improved 0 | new 0 | unchanged 1]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

---------------------------------------------------

Only significant changes:
| status | name | calls | ins | ins Δ% | HI | HI Δ% | SMI | SMI Δ% |

|--------|--------------------|-------|---------|---------|-----|--------|-----|---------|
| - | bench_post_upgrade | | 871.40M | -11.11% | 222 | 0.00% | 0 | 0.00%
|

ins = instructions, HI = heap_increase, SMI = stable_memory_increase, Δ%
= percent change


===================================================================================
## ICP ledger
target:       //rs/ledger_suite/icp/ledger:ledger_canbench
results file: rs/ledger_suite/icp/ledger/canbench_results/canbench.yml

===================================================================================

Summary:
  instructions:
    status:   Improvements detected 🟢
    counts:   [total 1 | regressed 0 | improved 1 | new 0 | unchanged 0]
change: [max -308.62M | p75 -308.62M | median -308.62M | p25 -308.62M |
min -308.62M]
change %: [max -2.14% | p75 -2.14% | median -2.14% | p25 -2.14% | min
-2.14%]

  heap_increase:
    status:   No significant changes 👍
    counts:   [total 1 | regressed 0 | improved 0 | new 0 | unchanged 1]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

  stable_memory_increase:
    status:   No significant changes 👍
    counts:   [total 1 | regressed 0 | improved 0 | new 0 | unchanged 1]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

---------------------------------------------------

Only significant changes:
| status | name | calls | ins | ins Δ% | HI | HI Δ% | SMI | SMI Δ% |

|--------|---------------------------------------|-------|--------|---------|----|--------|-----|---------|
| - | bench_endpoints | | 14.08B | -2.14% | 62 | 0.00% | 256 | 0.00% |
| - | bench_endpoints::icrc2_transfer_from | 1 | 6.65B | -2.71% | 2 |
0.00% | 128 | 0.00% |
| - | bench_endpoints::query_blocks | 1 | 36.75M | -3.49% | 13 | 0.00% |
0 | 0.00% |
| - | bench_endpoints::query_encoded_blocks | 1 | 6.91M | -6.45% | 0 |
0.00% | 0 | 0.00% |

ins = instructions, HI = heap_increase, SMI = stable_memory_increase, Δ%
= percent change


===================================================================================
## ICRC-1 ledger (u256)
target:       //rs/ledger_suite/icrc1/ledger:canbench_u256
results file:
rs/ledger_suite/icrc1/ledger/canbench_results/canbench_u256.yml

===================================================================================

Summary:
  instructions:
    status:   Improvements detected 🟢
    counts:   [total 2 | regressed 0 | improved 1 | new 0 | unchanged 1]
change: [max -21.14K | p75 -883.02M | median -1.77B | p25 -2.65B | min
-3.53B]
change %: [max -0.24% | p75 -1.82% | median -3.39% | p25 -4.97% | min
-6.54%]

  heap_increase:
    status:   No significant changes 👍
    counts:   [total 2 | regressed 0 | improved 0 | new 0 | unchanged 2]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

  stable_memory_increase:
    status:   No significant changes 👍
    counts:   [total 2 | regressed 0 | improved 0 | new 0 | unchanged 2]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

---------------------------------------------------

Only significant changes:
| status | name | calls | ins | ins Δ% | HI | HI Δ% | SMI | SMI Δ% |

|--------|-----------------------------------------------|-------|---------|---------|-----|--------|-----|---------|
| + | bench_icrc1_transfers::post_upgrade | 1 | 379.28M | +7.98% | 71 |
0.00% | 0 | 0.00% |
| + | bench_icrc1_transfers::upgrade | 1 | 529.25M | +5.87% | 200 |
0.00% | 128 | 0.00% |
| - | bench_icrc1_transfers::icrc1_transfer | 1 | 12.31B | -4.16% | 31 |
0.00% | 0 | 0.00% |
| - | bench_icrc1_transfers::get_blocks | 1 | 7.39M | -5.27% | 0 | 0.00%
| 0 | 0.00% |
| - | bench_icrc1_transfers::icrc3_get_blocks | 1 | 8.50M | -5.79% | 0 |
0.00% | 0 | 0.00% |
| - | bench_icrc1_transfers | | 50.46B | -6.54% | 262 | 0.00% | 256 |
0.00% |
| - | bench_icrc1_transfers::icrc2_transfer_from | 1 | 19.66B | -7.40% |
3 | 0.00% | 0 | 0.00% |
| - | bench_icrc1_transfers::icrc2_approve | 1 | 17.76B | -7.49% | 28 |
0.00% | 128 | 0.00% |
| - | bench_icrc1_transfers::icrc103_get_allowances | 1 | 5.25M |
-19.06% | 0 | 0.00% | 0 | 0.00% |

ins = instructions, HI = heap_increase, SMI = stable_memory_increase, Δ%
= percent change


===================================================================================
## ICRC-1 ledger (u64)
target:       //rs/ledger_suite/icrc1/ledger:canbench_u64
results file:
rs/ledger_suite/icrc1/ledger/canbench_results/canbench_u64.yml

===================================================================================

Summary:
  instructions:
    status:   Improvements detected 🟢
    counts:   [total 2 | regressed 0 | improved 1 | new 0 | unchanged 1]
change: [max -20.83K | p75 -871.90M | median -1.74B | p25 -2.62B | min
-3.49B]
change %: [max -0.24% | p75 -1.84% | median -3.45% | p25 -5.05% | min
-6.65%]

  heap_increase:
    status:   No significant changes 👍
    counts:   [total 2 | regressed 0 | improved 0 | new 0 | unchanged 2]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

  stable_memory_increase:
    status:   No significant changes 👍
    counts:   [total 2 | regressed 0 | improved 0 | new 0 | unchanged 2]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

---------------------------------------------------

Only significant changes:
| status | name | calls | ins | ins Δ% | HI | HI Δ% | SMI | SMI Δ% |

|--------|-----------------------------------------------|-------|---------|---------|-----|--------|-----|---------|
| + | bench_icrc1_transfers::post_upgrade | 1 | 379.10M | +8.02% | 73 |
0.00% | 0 | 0.00% |
| + | bench_icrc1_transfers::upgrade | 1 | 528.83M | +5.85% | 202 |
0.00% | 128 | 0.00% |
| - | bench_icrc1_transfers::icrc1_transfer | 1 | 11.77B | -4.25% | 31 |
0.00% | 0 | 0.00% |
| - | bench_icrc1_transfers::get_blocks | 1 | 6.81M | -5.80% | 0 | 0.00%
| 0 | 0.00% |
| - | bench_icrc1_transfers::icrc3_get_blocks | 1 | 7.89M | -6.32% | 0 |
0.00% | 0 | 0.00% |
| - | bench_icrc1_transfers | | 48.92B | -6.65% | 264 | 0.00% | 256 |
0.00% |
| - | bench_icrc1_transfers::icrc2_transfer_from | 1 | 19.21B | -7.49% |
3 | 0.00% | 0 | 0.00% |
| - | bench_icrc1_transfers::icrc2_approve | 1 | 17.22B | -7.62% | 28 |
0.00% | 128 | 0.00% |
| - | bench_icrc1_transfers::icrc103_get_allowances | 1 | 4.42M |
-21.76% | 0 | 0.00% | 0 | 0.00% |

ins = instructions, HI = heap_increase, SMI = stable_memory_increase, Δ%
= percent change


===================================================================================
## NNS governance
target:       //rs/nns/governance:governance-canbench
results file: rs/nns/governance/canbench/canbench_results.yml

===================================================================================

Summary:
  instructions:
    status:   Improvements detected 🟢
counts: [total 28 | regressed 0 | improved 3 | new 0 | unchanged 25]
change: [max +924.98K | p75 -852 | median -60.22K | p25 -465.20K | min
-3.14M]
change %: [max +1.62% | p75 -0.76% | median -2.24% | p25 -2.78% | min
-7.58%]

  heap_increase:
    status:   No significant changes 👍
counts: [total 28 | regressed 0 | improved 0 | new 0 | unchanged 28]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

  stable_memory_increase:
    status:   No significant changes 👍
counts: [total 28 | regressed 0 | improved 0 | new 0 | unchanged 28]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

---------------------------------------------------

Only significant changes:
| status | name | calls | ins | ins Δ% | HI | HI Δ% | SMI | SMI Δ% |

|--------|--------------------------------------------------------|-------|--------|---------|----|--------|-----|---------|
| - | unstake_maturity_of_dissolved_neurons::list_neuron_ids | 1 |
37.65M | -5.56% | 0 | 0.00% | 0 | 0.00% |
| - | list_ready_to_spawn_neuron_ids | | 36.31M | -5.59% | 0 | 0.00% | 0
| 0.00% |
| - | compute_ballots_for_new_proposal_with_stable_neurons | | 2.30M |
-6.16% | 0 | 0.00% | 256 | 0.00% |
| - | neuron_metrics_calculation | | 3.35M | -7.58% | 0 | 0.00% | 0 |
0.00% |

ins = instructions, HI = heap_increase, SMI = stable_memory_increase, Δ%
= percent change


===================================================================================
## Registry canister
target:       //rs/registry/canister:registry-canbench
results file: rs/registry/canister/canbench/canbench_results.yml

===================================================================================

Summary:
  instructions:
    status:   Improvements detected 🟢
counts: [total 14 | regressed 0 | improved 10 | new 0 | unchanged 4]
change: [max -5 | p75 -1.15M | median -10.78M | p25 -32.86M | min
-1.30B]
change %: [max -0.00% | p75 -0.63% | median -3.09% | p25 -9.71% | min
-13.80%]

  heap_increase:
    status:   No significant changes 👍
counts: [total 14 | regressed 0 | improved 0 | new 0 | unchanged 14]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

  stable_memory_increase:
    status:   No significant changes 👍
counts: [total 14 | regressed 0 | improved 0 | new 0 | unchanged 14]
    change:   [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]

---------------------------------------------------

Only significant changes:
| status | name | calls | ins | ins Δ% | HI | HI Δ% | SMI | SMI Δ% |

|--------|-------------------------------------------------------------|-------|---------|---------|-----|--------|-----|---------|
| - | get_subnet_for_canister_100_times_10k | | 685.74M | -2.43% | 0 |
0.00% | 0 | 0.00% |
| - | upgrade_with_routing_table_10k | | 5.46B | -2.98% | 342 | 0.00% |
0 | 0.00% |
| - | upgrade_with_routing_table_10k::post_upgrade | 1 | 5.43B | -2.99%
| 217 | 0.00% | 0 | 0.00% |
| - | upgrade_with_routing_table_1k | | 669.20M | -3.02% | 40 | 0.00% |
0 | 0.00% |
| - | upgrade_with_routing_table_1k::post_upgrade | 1 | 666.33M | -3.04%
| 25 | 0.00% | 0 | 0.00% |
| - | upgrade_with_routing_table_100 | | 184.18M | -3.16% | 7 | 0.00% |
0 | 0.00% |
| - | upgrade_with_routing_table_100::post_upgrade | 1 | 183.30M |
-3.17% | 4 | 0.00% | 0 | 0.00% |
| - | get_subnet_for_canister_100_times_1k | | 87.92M | -4.23% | 0 |
0.00% | 0 | 0.00% |
| - | get_subnet_for_canister_100_times_100 | | 28.45M | -8.38% | 0 |
0.00% | 0 | 0.00% |
| - | migrate_canisters_10_times_100 | | 137.68M | -10.15% | 0 | 0.00% |
0 | 0.00% |
| - | migrate_canisters_10_times_1k | | 902.16M | -11.78% | 3 | 0.00% |
0 | 0.00% |
| - | migrate_canisters_10_times_10k | | 8.98B | -12.68% | 0 | 0.00% | 0
| 0.00% |
| - | measure_routing_table_invariant_checks_shards_and_unsharded | |
230.35M | -13.80% | 138 | 0.00% | 0 | 0.00% |

ins = instructions, HI = heap_increase, SMI = stable_memory_increase, Δ%
= percent change

---------

Co-authored-by: IDX GitHub Automation <>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…c 1.95.0

The rustc 1.95.0 bump produces slightly larger wasm binaries and shifts
deterministic execution estimates. Bump the compressed wasm size limits
for ic-ckbtc-minter, sns-governance, and sns-swap, and update the
hard-coded post-split load estimates in the subnet_splitting integration
test.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Resolve conflicts for the rustc 1.95.0 bump:
- Container image references (workflows, devcontainer, TAG): keep branch
  values; container-autobuild will rebuild and rewrite them on push.
- canbench results (ckbtc minter, registry) and subnet-splitting test
  estimates: keep the rustc 1.95.0 values.

Post-merge fixes:
- subnet_splitting integration_test: update source/destination estimates
  to the measured orientation on the merged tree.
- registry canbench: regenerate results.yml for master's registry code
  changes (values within ~3%).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…be7f49b5528e73804be39740cfe5f

ic-build: sha256:83e2d52e2b6b990ecd81fc27d26312c456867220f7e0667022dd7999718ab534

ic-dev:   sha256:60cf67322e87bd9a6ce425ec73811014f9a6280d84db6e256c1eda720790a491
Re-run all canbench suites whose results files changed on this branch,
persisting fresh benchmark numbers.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…27967070fea70acf17115b4be8a34

ic-build: sha256:d08fbbbea0f740fcf057a5951271a9a69e85ec76393626e75ffa2693fe7f3c4b

ic-dev:   sha256:ef4e171fcb98170f24d4163a3a3cefff11a380a603388f467add619c45f610a4
…4e0847d7be43124022d7e6d24919d

ic-build: sha256:0d2e7465c8aa6723b96743011fcdc0e1eb15ead88639ca74aacf96ada92d30a9

ic-dev:   sha256:d80def17941e0208e13f994cce628e0e370a59f40086cb3a0a7cdadaeb382dfc
…171c7ee7ebae00c03f24d608cd688

ic-build: sha256:88eab17245eb00929dddf0eadbab2e359952e06c440c890420ba257409e30149

ic-dev:   sha256:eae27468101cff14340905c9b6d1fc6caebe339c7ed474d8fee6d35015c04d61
@github-actions github-actions Bot added the chore label Jul 10, 2026
@basvandijk
basvandijk changed the base branch from master to mraszyl/rustc-1-95-0-again July 10, 2026 20:05
…1b7f3f51ba132ab53ded517d492da

ic-build: sha256:53faf54ebb066724dfa6b69bd21f11d5b1a8b58e839870fe612cf2553cbc332e

ic-dev:   sha256:7f4e0bb317291ee52f3a74e7228590582222e29f7ccd6adc353678a90a8549f4
@github-actions

Copy link
Copy Markdown
Contributor

Run URL: https://github.com/dfinity/ic/actions/runs/29120192331

New container images with tag: 180b7a18c045f013033db88ee52d44c4c9f1b7f3f51ba132ab53ded517d492da
ic-build: sha256:53faf54ebb066724dfa6b69bd21f11d5b1a8b58e839870fe612cf2553cbc332e
ic-dev: sha256:7f4e0bb317291ee52f3a74e7228590582222e29f7ccd6adc353678a90a8549f4

Base automatically changed from mraszyl/rustc-1-95-0-again to master July 10, 2026 20:57
@basvandijk basvandijk changed the title chore: upgrade rustc: 1.95.0 -> 1.97.0 chore: prepare for the rustc upgrade: 1.95.0 -> 1.97.0 Jul 10, 2026
@basvandijk
basvandijk requested a review from Copilot July 10, 2026 21:18

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR performs mechanical Rust code cleanups and dependency/lockfile updates as preparatory work for upgrading the toolchain from rustc 1.95.0 to 1.97.0, largely by removing redundant borrows and adopting newer/clearer std patterns.

Changes:

  • Remove unnecessary & borrows in formatting / Display / logging code across the Rust workspace.
  • Simplify Option/map iteration logic using filter, values_mut(), keys(), and ? where appropriate.
  • Update ethnum to 1.5.3 and refresh Cargo/Bazel lockfiles to match the new dependency graph.

Reviewed changes

Copilot reviewed 60 out of 63 changed files in this pull request and generated no comments.

Show a summary per file
File Description
rs/types/types/src/crypto/threshold_sig/ni_dkg/errors/key_removal_error.rs Remove redundant borrow in Display formatting.
rs/types/types/src/crypto/threshold_sig/ni_dkg/errors.rs Remove redundant borrow when formatting internal error.
rs/types/types/src/crypto/threshold_sig/ni_dkg/config.rs Remove redundant borrow in Display formatting.
rs/types/types/src/crypto/threshold_sig/ni_dkg.rs Remove redundant borrows in Display formatting for NI-DKG types.
rs/types/types/src/crypto/error.rs Remove redundant borrows in multiple Display impls / formatting args.
rs/types/types/src/consensus/idkg.rs Remove redundant borrow in Display formatting.
rs/types/management_canister_types/src/lib.rs Remove redundant borrows in Display output for install args structs.
rs/tests/driver/src/driver/logs_stream_task.rs Remove redundant borrows in error-context formatting.
rs/tests/driver/src/driver/farm.rs Remove redundant borrow in request path formatting.
rs/tests/crypto/rpc_csp_vault_reconnection_test.rs Remove redundant borrows in systemd command formatting.
rs/tests/boundary_nodes/integration_test_common/src/lib.rs Adjust formatting arguments for expected byte arrays in failure messages.
rs/test_utilities/execution_environment/src/lib.rs Simplify map iteration using values_mut().
rs/state_manager/src/state_sync/types.rs Simplify Option handling using ? and remove redundant branching.
rs/state_layout/src/state_layout.rs Remove redundant borrows in temp-path formatting.
rs/sns/governance/src/proposal.rs Remove redundant borrows in rendered text formatting.
rs/sns/governance/src/icrc_ledger_helper.rs Remove redundant borrow in error formatting.
rs/sns/governance/src/extensions.rs Remove redundant borrow in string formatting.
rs/sns/cli/src/deploy.rs Remove redundant borrows in printing/formatting and JSON write path.
rs/rust_canisters/canister_test/src/canister.rs Remove redundant borrows in retry/install logging.
rs/rosetta-api/icp/src/request_handler.rs Remove redundant borrow in invalid-address error formatting.
rs/rosetta-api/common/rosetta_core/src/identifiers.rs Remove redundant borrows in conversion error contexts.
rs/replica/bin/replica/main.rs Remove redundant borrows in profiler report logging.
rs/replay/src/player.rs Remove redundant borrows in output/log formatting.
rs/replay/src/backup.rs Remove redundant borrow in invalid-artifact logging.
rs/registry/nns_data_provider/src/registry.rs Remove redundant borrow when formatting agent in error path.
rs/registry/canister/src/mutations/do_add_or_remove_data_centers.rs Remove redundant borrows in logging/panic formatting.
rs/registry/canister/src/invariants/endpoint.rs Remove redundant borrows in invariant error formatting.
rs/registry/admin/bin/main.rs Remove redundant borrows in proposal title/payload printing.
rs/prep/src/internet_computer.rs Simplify map iteration with values_mut() for node operator assignment.
rs/orchestrator/src/catch_up_package_provider.rs Remove redundant borrow in IO error formatting.
rs/nns/test_utils/src/registry.rs Remove redundant borrow in panic message formatting.
rs/nns/test_utils/src/gtc_helpers.rs Remove redundant borrow in seed logging.
rs/nns/governance/src/neuron_data_validation.rs Simplify Option handling with ? for known neuron name extraction.
rs/nns/governance/src/governance.rs Remove redundant borrow in debug-format string creation.
rs/ledger_suite/test_utils/in_memory_ledger/src/lib.rs Remove redundant borrows in assert/panic formatting.
rs/interfaces/src/execution_environment/errors.rs Remove redundant borrows in error description formatting.
rs/ic_os/networking/network/src/systemd.rs Remove redundant borrows; simplify IPv6 address formatting.
rs/ic_os/networking/network/src/interfaces.rs Remove redundant borrows in logging.
rs/ic_os/build_tools/dflate/src/main.rs Remove redundant borrow in invalid-path error message.
rs/execution_environment/src/scheduler.rs Simplify Option logic using filter for non-zero resource limit.
rs/execution_environment/src/execution_environment.rs Remove redundant borrows in canister-not-found error formatting.
rs/execution_environment/src/canister_manager/types.rs Remove redundant borrow in error formatting.
rs/ethereum/cketh/minter/src/map.rs Simplify iteration over map keys to avoid unused tuple elements.
rs/embedders/src/wasm_utils/validation.rs Remove redundant borrow in validation error formatting.
rs/crypto/src/vetkd/mod.rs Remove redundant borrow in internal error formatting.
rs/crypto/sha2/src/context/mod.rs Remove redundant borrow in Debug formatting.
rs/crypto/internal/crypto_service_provider/src/vault/remote_csp_vault/tarpc_csp_vault_server.rs Remove redundant borrow in panic formatting.
rs/crypto/internal/crypto_service_provider/src/vault/local_csp_vault/idkg/mod.rs Remove redundant borrows in internal error formatting.
rs/consensus/dkg/src/remote.rs Remove redundant borrow in error formatting.
rs/config/src/crypto.rs Remove redundant borrow in permissions error formatting.
rs/canister_sandbox/src/rpc.rs Simplify map iteration using values().
rs/canister_sandbox/src/replica_controller/sandboxed_execution_controller.rs Simplify Option logic using filter for non-zero resource limit.
rs/canister_client/src/http_client.rs Remove redundant borrow in response formatting.
rs/canister_client/src/cbor.rs Remove redundant borrow in error formatting.
rs/boundary_node/ic_boundary/src/rate_limiting/generic.rs Simplify rule evaluation using ? and if let chains.
rs/bitcoin/ckbtc/minter/src/tx.rs Remove redundant borrow in Display formatting.
rs/bitcoin/ckbtc/minter/src/state/eventlog.rs Remove redundant borrow in error formatting.
rs/bitcoin/ckbtc/minter/src/state.rs Simplify Option logic via filter; remove redundant borrow in panic formatting.
Cargo.toml Bump ethnum dependency version.
Cargo.lock Refresh locked dependency versions/checksums for the upgrade.
Cargo.Bazel.toml.lock Refresh Bazel cargo lock metadata (e.g., ethnum, windows-sys, socket2).
Cargo.Bazel.json.lock Refresh Bazel JSON lock metadata/checksum and crate versions.
bazel/rust.MODULE.bazel Update Bazel crate spec for ethnum to match Cargo.toml.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@basvandijk basvandijk changed the title chore: prepare for the rustc upgrade: 1.95.0 -> 1.97.0 chore: cargo clippy fixes to prepare for the rustc upgrade: 1.95.0 -> 1.97.0 Jul 10, 2026
@basvandijk
basvandijk marked this pull request as ready for review July 10, 2026 22:03
@basvandijk
basvandijk requested a review from a team as a code owner July 10, 2026 22:03

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This pull request changes code owned by the Governance team. Therefore, make sure that
you have considered the following (for Governance-owned code):

  1. Update unreleased_changelog.md (if there are behavior changes, even if they are
    non-breaking).

  2. Are there BREAKING changes?

  3. Is a data migration needed?

  4. Security review?

How to Satisfy This Automatic Review

  1. Go to the bottom of the pull request page.

  2. Look for where it says this bot is requesting changes.

  3. Click the three dots to the right.

  4. Select "Dismiss review".

  5. In the text entry box, respond to each of the numbered items in the previous
    section, declare one of the following:

  • Done.

  • $REASON_WHY_NO_NEED. E.g. for unreleased_changelog.md, "No
    canister behavior changes.", or for item 2, "Existing APIs
    behave as before.".

Brief Guide to "Externally Visible" Changes

"Externally visible behavior change" is very often due to some NEW canister API.

Changes to EXISTING APIs are more likely to be "breaking".

If these changes are breaking, make sure that clients know how to migrate, how to
maintain their continuity of operations.

If your changes are behind a feature flag, then, do NOT add entrie(s) to
unreleased_changelog.md in this PR! But rather, add entrie(s) later, in the PR
that enables these changes in production.

Reference(s)

For a more comprehensive checklist, see here.

GOVERNANCE_CHECKLIST_REMINDER_DEDUP

@zeropath-ai

zeropath-ai Bot commented Jul 10, 2026

Copy link
Copy Markdown

No security or compliance issues detected. Reviewed everything up to 0957c4a.

Security Overview
Detected Code Changes
Change Type Relevant files
Bug Fix ► rs/canister_client/src/cbor.rs
     Fix formatting in error message key rendering
► rs/canister_client/src/http_client.rs
     Use proper string slice in readable_response formatting
► rs/consensus/dkg/src/lib.rs
     Use keys() instead of iter() when validating config IDs
► rs/consensus/dkg/src/payload_builder.rs
     Iterate over values() in tests instead of iter()
► rs/consensus/dkg/src/remote.rs
     Remove unnecessary reference in error message construction
► rs/crypto/internal/crypto_service_provider/src/key_id/tests.rs
     Use test instead of &test in assertions
► rs/crypto/internal/crypto_service_provider/src/vault/api/tests.rs
     Use test instead of &test in parameterized tests
► rs/crypto/internal/crypto_service_provider/src/vault/local_csp_vault/idkg/mod.rs
     Remove unnecessary reference in error message formatting
► rs/crypto/internal/crypto_service_provider/src/vault/remote_csp_vault/tarpc_csp_vault_server.rs
     Format local_addr() without reference
► rs/crypto/internal/logmon/src/tests.rs
     Format using variable directly instead of &variant
► rs/embedders/src/wasm_utils/validation.rs
     Use direct value instead of reference in error message
► rs/ledger_suite/test_utils/in_memory_ledger/src/lib.rs
     Use owned values in assertions
► rs/nns/governance/src/governance.rs
     Use owned request in debug formatting
► rs/nns/governance/src/governance/tests/mod.rs
     Use owned string from action name instead of reference
► rs/nns/governance/src/neuron_data_validation.rs
     Simplify known_neuron_data access with question-mark operator
► rs/nns/governance/src/voting.rs
     Iterate ballots via values() instead of iter()
► rs/nns/test_utils/src/gtc_helpers.rs
     Use owned seed in print statement
► rs/nns/test_utils/src/registry.rs
     Use config instead of &config in panic message
► rs/node_rewards/canister/src/metrics/tests.rs
     Iterate over values() instead of iter()
► rs/interfaces/src/execution_environment/errors.rs
     Format strings using owned values in error messages
► rs/ledger_suite/icrc1/ledger/tests/tests.rs
     Use ranges variable directly in assertion
► rs/ledger_suite/test_utils/in_memory_ledger/src/lib.rs
     Use owned values in several assertions
Enhancement ► rs/execution_environment/src/scheduler.rs
     Refactor maximum_state_delta check to filter() for non-zero values
► rs/canister_sandbox/src/rpc.rs
     Iterate over mut_repr.cells.values() when flushing with errors
► rs/canister_sandbox/src/replica_controller/sandboxed_execution_controller.rs
     Replace and_then+closure with filter for delta capacity calculation
► rs/ic_os/networking/network/src/interfaces.rs
     Improve logging formatting for IP address assignment
► rs/ic_os/networking/network/src/systemd.rs
     Inline IP address formatting for systemd config generation
► rs/config/src/crypto.rs
     Adjust formatting for directory permission messages (no semantic change)
Refactor ► a few minor formatting and indentation shifts across multiple files to align style and remove unnecessary references

@zeropath-ai

zeropath-ai Bot commented Jul 10, 2026

Copy link
Copy Markdown

No security or compliance issues detected. Reviewed everything up to 0957c4a.

Security Overview
Detected Code Changes
Change Type Relevant files
Bug Fix ► rs/execution_environment/src/scheduler.rs
    Use filter to drop zero delta capacity instead of manual optional chaining
► rs/execution_environment/src/scheduler/tests.rs
    Update iteration over sign_with_ecdsa_contexts to keys()
Bug Fix ► rs/crypto/internal/crypto_lib/threshold_sig/bls12_381/tests/integration_tests.rs
    Normalize debug print formatting of key_pair.0
Bug Fix ► rs/crypto/internal/crypto_service_provider/src/key_id/tests.rs
    Format test debug output without reference operator
Bug Fix ► rs/consensus/dkg/src/lib.rs
    Iterate over keys() when checking configs instead of iter()
Bug Fix ► rs/consensus/dkg/src/payload_builder.rs
    Iterate over next_summary.configs.values() instead of next_summary.configs.iter()
Bug Fix ► rs/consensus/dkg/src/remote.rs
    Remove & in error message formatting for dkg_tag
Bug Fix ► rs/crypto/src/sign/threshold_sig/store/tests.rs
    Iterate over store.store.keys() instead of store.store.iter()
Bug Fix ► rs/crypto/internal/crypto_service_provider/src/vault/local_csp_vault/idkg/mod.rs
    Format oldest_public_key without reference operator
Bug Fix ► rs/crypto/internal/crypto_service_provider/src/vault/remote_csp_vault/tarpc_csp_vault_server.rs
    Remove unnecessary reference in logging of local_addr
Bug Fix ► rs/embedders/src/wasm_utils/validation.rs
    Remove unnecessary reference wrapping for TypeID index access
Bug Fix ► rs/nns/governance/src/governance.rs
    Format request string using request instead of &request
Bug Fix ► rs/nns/governance/src/governance/tests/mod.rs
    Use direct values instead of references in expected strings
Bug Fix ► rs/nns/governance/src/neuron_data_validation.rs
    Use known_neuron_data()? to safely access name
Bug Fix ► rs/nns/governance/src/voting.rs
    Iterate over ballots.values() instead of ballots.iter()
Refactor ► rs/canister_client/src/cbor.rs
    Remove extra reference in error formatting
Refactor ► rs/canister_sandbox/src/replica_controller/sandboxed_execution_controller.rs
    Use filter to replace and_then pattern for delta capacity check
Refactor ► rs/canister_sandbox/src/rpc.rs
    Iterate over mut_repr.cells.values() for flush
Refactor ► rs/config/src/crypto.rs
    Remove redundant reference in permission error messages
Refactor ► rs/ledger_suite/test_utils/in_memory_ledger/src/lib.rs
    Use direct values in assertion messages
Refactor ► rs/ethereum/cketh/minter/src/map.rs
    Iterate over self.by_key.keys()
Refactor ► rs/interfaces/src/execution_environment/errors.rs
    Format strings without unnecessary reference in error messages
Refactor ► rs/execution_environment/src/execution_environment.rs
    Format strings without & when appending canister_id
Refactor ► rs/nns/governance/src/voting.rs
    Use values() iteration for ballots
Refactor ► rs/nns/test_utils/src/gtc_helpers.rs
    Print seed directly instead of reference
Enhancement ► bazel/rust.MODULE.bazel
    Update ethnum version in module to ^1.5.3
Enhancement ► Cargo.toml / Cargo.lock / Cargo.Bazel.toml.lock updates
    Bump ethnum to 1.5.3 and related dependency updates
Enhancement ► rs/consensus/dkg/src/lib.rs and related files
    Adjust iterations to use keys/values views for config structures

@zeropath-ai

zeropath-ai Bot commented Jul 10, 2026

Copy link
Copy Markdown

No security or compliance issues detected. Reviewed everything up to 0957c4a.

Security Overview
Detected Code Changes
Change Type Relevant files
Bug Fix ► rs/canister_client/src/cbor.rs
     Fix formatting in error message key rendering
► rs/canister_client/src/http_client.rs
     Use proper string slice in readable_response formatting
► rs/consensus/dkg/src/lib.rs
     Use keys() instead of iter() when validating config IDs
► rs/consensus/dkg/src/payload_builder.rs
     Iterate over values() in tests instead of iter()
► rs/consensus/dkg/src/remote.rs
     Remove unnecessary reference in error message construction
► rs/crypto/internal/crypto_service_provider/src/key_id/tests.rs
     Use test instead of &test in assertions
► rs/crypto/internal/crypto_service_provider/src/vault/api/tests.rs
     Use test instead of &test in parameterized tests
► rs/crypto/internal/crypto_service_provider/src/vault/local_csp_vault/idkg/mod.rs
     Remove unnecessary reference in error message formatting
► rs/crypto/internal/crypto_service_provider/src/vault/remote_csp_vault/tarpc_csp_vault_server.rs
     Format local_addr() without reference
► rs/crypto/internal/logmon/src/tests.rs
     Format using variable directly instead of &variant
► rs/embedders/src/wasm_utils/validation.rs
     Use direct value instead of reference in error message
► rs/ledger_suite/test_utils/in_memory_ledger/src/lib.rs
     Use owned values in assertions
► rs/nns/governance/src/governance.rs
     Use owned request in debug formatting
► rs/nns/governance/src/governance/tests/mod.rs
     Use owned string from action name instead of reference
► rs/nns/governance/src/neuron_data_validation.rs
     Simplify known_neuron_data access with question-mark operator
► rs/nns/governance/src/voting.rs
     Iterate ballots via values() instead of iter()
► rs/nns/test_utils/src/gtc_helpers.rs
     Use owned seed in print statement
► rs/nns/test_utils/src/registry.rs
     Use config instead of &config in panic message
► rs/node_rewards/canister/src/metrics/tests.rs
     Iterate over values() instead of iter()
► rs/interfaces/src/execution_environment/errors.rs
     Format strings using owned values in error messages
► rs/ledger_suite/icrc1/ledger/tests/tests.rs
     Use ranges variable directly in assertion
► rs/ledger_suite/test_utils/in_memory_ledger/src/lib.rs
     Use owned values in several assertions
Enhancement ► rs/execution_environment/src/scheduler.rs
     Refactor maximum_state_delta check to filter() for non-zero values
► rs/canister_sandbox/src/rpc.rs
     Iterate over mut_repr.cells.values() when flushing with errors
► rs/canister_sandbox/src/replica_controller/sandboxed_execution_controller.rs
     Replace and_then+closure with filter for delta capacity calculation
► rs/ic_os/networking/network/src/interfaces.rs
     Improve logging formatting for IP address assignment
► rs/ic_os/networking/network/src/systemd.rs
     Inline IP address formatting for systemd config generation
► rs/config/src/crypto.rs
     Adjust formatting for directory permission messages (no semantic change)
Refactor ► a few minor formatting and indentation shifts across multiple files to align style and remove unnecessary references

@zeropath-ai

zeropath-ai Bot commented Jul 10, 2026

Copy link
Copy Markdown

No security or compliance issues detected. Reviewed everything up to 0957c4a.

Security Overview
Detected Code Changes
Change Type Relevant files
Bug Fix ► rs/canister_client/src/cbor.rs
     Fix formatting in error message key rendering
► rs/canister_client/src/http_client.rs
     Use proper string slice in readable_response formatting
► rs/consensus/dkg/src/lib.rs
     Use keys() instead of iter() when validating config IDs
► rs/consensus/dkg/src/payload_builder.rs
     Iterate over values() in tests instead of iter()
► rs/consensus/dkg/src/remote.rs
     Remove unnecessary reference in error message construction
► rs/crypto/internal/crypto_service_provider/src/key_id/tests.rs
     Use test instead of &test in assertions
► rs/crypto/internal/crypto_service_provider/src/vault/api/tests.rs
     Use test instead of &test in parameterized tests
► rs/crypto/internal/crypto_service_provider/src/vault/local_csp_vault/idkg/mod.rs
     Remove unnecessary reference in error message formatting
► rs/crypto/internal/crypto_service_provider/src/vault/remote_csp_vault/tarpc_csp_vault_server.rs
     Format local_addr() without reference
► rs/crypto/internal/logmon/src/tests.rs
     Format using variable directly instead of &variant
► rs/embedders/src/wasm_utils/validation.rs
     Use direct value instead of reference in error message
► rs/ledger_suite/test_utils/in_memory_ledger/src/lib.rs
     Use owned values in assertions
► rs/nns/governance/src/governance.rs
     Use owned request in debug formatting
► rs/nns/governance/src/governance/tests/mod.rs
     Use owned string from action name instead of reference
► rs/nns/governance/src/neuron_data_validation.rs
     Simplify known_neuron_data access with question-mark operator
► rs/nns/governance/src/voting.rs
     Iterate ballots via values() instead of iter()
► rs/nns/test_utils/src/gtc_helpers.rs
     Use owned seed in print statement
► rs/nns/test_utils/src/registry.rs
     Use config instead of &config in panic message
► rs/node_rewards/canister/src/metrics/tests.rs
     Iterate over values() instead of iter()
► rs/interfaces/src/execution_environment/errors.rs
     Format strings using owned values in error messages
► rs/ledger_suite/icrc1/ledger/tests/tests.rs
     Use ranges variable directly in assertion
► rs/ledger_suite/test_utils/in_memory_ledger/src/lib.rs
     Use owned values in several assertions
Enhancement ► rs/execution_environment/src/scheduler.rs
     Refactor maximum_state_delta check to filter() for non-zero values
► rs/canister_sandbox/src/rpc.rs
     Iterate over mut_repr.cells.values() when flushing with errors
► rs/canister_sandbox/src/replica_controller/sandboxed_execution_controller.rs
     Replace and_then+closure with filter for delta capacity calculation
► rs/ic_os/networking/network/src/interfaces.rs
     Improve logging formatting for IP address assignment
► rs/ic_os/networking/network/src/systemd.rs
     Inline IP address formatting for systemd config generation
► rs/config/src/crypto.rs
     Adjust formatting for directory permission messages (no semantic change)
Refactor ► a few minor formatting and indentation shifts across multiple files to align style and remove unnecessary references

@zeropath-ai

zeropath-ai Bot commented Jul 10, 2026

Copy link
Copy Markdown

No security or compliance issues detected. Reviewed everything up to 0957c4a.

Security Overview
Detected Code Changes
Change Type Relevant files
Bug Fix ► rs/execution_environment/src/scheduler.rs
    Use filter to drop zero delta capacity instead of manual optional chaining
► rs/execution_environment/src/scheduler/tests.rs
    Update iteration over sign_with_ecdsa_contexts to keys()
Bug Fix ► rs/crypto/internal/crypto_lib/threshold_sig/bls12_381/tests/integration_tests.rs
    Normalize debug print formatting of key_pair.0
Bug Fix ► rs/crypto/internal/crypto_service_provider/src/key_id/tests.rs
    Format test debug output without reference operator
Bug Fix ► rs/consensus/dkg/src/lib.rs
    Iterate over keys() when checking configs instead of iter()
Bug Fix ► rs/consensus/dkg/src/payload_builder.rs
    Iterate over next_summary.configs.values() instead of next_summary.configs.iter()
Bug Fix ► rs/consensus/dkg/src/remote.rs
    Remove & in error message formatting for dkg_tag
Bug Fix ► rs/crypto/src/sign/threshold_sig/store/tests.rs
    Iterate over store.store.keys() instead of store.store.iter()
Bug Fix ► rs/crypto/internal/crypto_service_provider/src/vault/local_csp_vault/idkg/mod.rs
    Format oldest_public_key without reference operator
Bug Fix ► rs/crypto/internal/crypto_service_provider/src/vault/remote_csp_vault/tarpc_csp_vault_server.rs
    Remove unnecessary reference in logging of local_addr
Bug Fix ► rs/embedders/src/wasm_utils/validation.rs
    Remove unnecessary reference wrapping for TypeID index access
Bug Fix ► rs/nns/governance/src/governance.rs
    Format request string using request instead of &request
Bug Fix ► rs/nns/governance/src/governance/tests/mod.rs
    Use direct values instead of references in expected strings
Bug Fix ► rs/nns/governance/src/neuron_data_validation.rs
    Use known_neuron_data()? to safely access name
Bug Fix ► rs/nns/governance/src/voting.rs
    Iterate over ballots.values() instead of ballots.iter()
Refactor ► rs/canister_client/src/cbor.rs
    Remove extra reference in error formatting
Refactor ► rs/canister_sandbox/src/replica_controller/sandboxed_execution_controller.rs
    Use filter to replace and_then pattern for delta capacity check
Refactor ► rs/canister_sandbox/src/rpc.rs
    Iterate over mut_repr.cells.values() for flush
Refactor ► rs/config/src/crypto.rs
    Remove redundant reference in permission error messages
Refactor ► rs/ledger_suite/test_utils/in_memory_ledger/src/lib.rs
    Use direct values in assertion messages
Refactor ► rs/ethereum/cketh/minter/src/map.rs
    Iterate over self.by_key.keys()
Refactor ► rs/interfaces/src/execution_environment/errors.rs
    Format strings without unnecessary reference in error messages
Refactor ► rs/execution_environment/src/execution_environment.rs
    Format strings without & when appending canister_id
Refactor ► rs/nns/governance/src/voting.rs
    Use values() iteration for ballots
Refactor ► rs/nns/test_utils/src/gtc_helpers.rs
    Print seed directly instead of reference
Enhancement ► bazel/rust.MODULE.bazel
    Update ethnum version in module to ^1.5.3
Enhancement ► Cargo.toml / Cargo.lock / Cargo.Bazel.toml.lock updates
    Bump ethnum to 1.5.3 and related dependency updates
Enhancement ► rs/consensus/dkg/src/lib.rs and related files
    Adjust iterations to use keys/values views for config structures

@zeropath-ai

zeropath-ai Bot commented Jul 10, 2026

Copy link
Copy Markdown

No security or compliance issues detected. Reviewed everything up to 0957c4a.

Security Overview
Detected Code Changes
Change Type Relevant files
Bug Fix ► rs/canister_client/src/cbor.rs
     Fix formatting in error message key rendering
► rs/canister_client/src/http_client.rs
     Use proper string slice in readable_response formatting
► rs/consensus/dkg/src/lib.rs
     Use keys() instead of iter() when validating config IDs
► rs/consensus/dkg/src/payload_builder.rs
     Iterate over values() in tests instead of iter()
► rs/consensus/dkg/src/remote.rs
     Remove unnecessary reference in error message construction
► rs/crypto/internal/crypto_service_provider/src/key_id/tests.rs
     Use test instead of &test in assertions
► rs/crypto/internal/crypto_service_provider/src/vault/api/tests.rs
     Use test instead of &test in parameterized tests
► rs/crypto/internal/crypto_service_provider/src/vault/local_csp_vault/idkg/mod.rs
     Remove unnecessary reference in error message formatting
► rs/crypto/internal/crypto_service_provider/src/vault/remote_csp_vault/tarpc_csp_vault_server.rs
     Format local_addr() without reference
► rs/crypto/internal/logmon/src/tests.rs
     Format using variable directly instead of &variant
► rs/embedders/src/wasm_utils/validation.rs
     Use direct value instead of reference in error message
► rs/ledger_suite/test_utils/in_memory_ledger/src/lib.rs
     Use owned values in assertions
► rs/nns/governance/src/governance.rs
     Use owned request in debug formatting
► rs/nns/governance/src/governance/tests/mod.rs
     Use owned string from action name instead of reference
► rs/nns/governance/src/neuron_data_validation.rs
     Simplify known_neuron_data access with question-mark operator
► rs/nns/governance/src/voting.rs
     Iterate ballots via values() instead of iter()
► rs/nns/test_utils/src/gtc_helpers.rs
     Use owned seed in print statement
► rs/nns/test_utils/src/registry.rs
     Use config instead of &config in panic message
► rs/node_rewards/canister/src/metrics/tests.rs
     Iterate over values() instead of iter()
► rs/interfaces/src/execution_environment/errors.rs
     Format strings using owned values in error messages
► rs/ledger_suite/icrc1/ledger/tests/tests.rs
     Use ranges variable directly in assertion
► rs/ledger_suite/test_utils/in_memory_ledger/src/lib.rs
     Use owned values in several assertions
Enhancement ► rs/execution_environment/src/scheduler.rs
     Refactor maximum_state_delta check to filter() for non-zero values
► rs/canister_sandbox/src/rpc.rs
     Iterate over mut_repr.cells.values() when flushing with errors
► rs/canister_sandbox/src/replica_controller/sandboxed_execution_controller.rs
     Replace and_then+closure with filter for delta capacity calculation
► rs/ic_os/networking/network/src/interfaces.rs
     Improve logging formatting for IP address assignment
► rs/ic_os/networking/network/src/systemd.rs
     Inline IP address formatting for systemd config generation
► rs/config/src/crypto.rs
     Adjust formatting for directory permission messages (no semantic change)
Refactor ► a few minor formatting and indentation shifts across multiple files to align style and remove unnecessary references

@basvandijk
basvandijk dismissed github-actions[bot]’s stale review July 10, 2026 22:06

No canister behavioural changes. Just small refactors.

@mbjorkqvist mbjorkqvist left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @basvandijk!

@basvandijk basvandijk added the CI_ALL_BAZEL_TARGETS Runs all bazel targets label Jul 14, 2026
Fix clippy lints newly enforced by rustc 1.97.0:
- useless_borrows_in_formatting: drop redundant `&`/`&mut` in
  format!/println!/assert!/assert_eq! arguments
- for_kv_map: iterate with .keys()/.values()/.values_mut() instead of
  .iter()/.iter_mut() with a discarded tuple element
- unneeded_wildcard_pattern: drop `amount: _` covered by `..`
- dead_code: remove the local CANISTER_FREEZE_BALANCE_RESERVE duplicate in
  nns_shielding.rs; the identical `pub const` from ic_system_test_driver::util
  is already glob-imported (as used by ingress_rate_limiting.rs)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@basvandijk
basvandijk requested a review from a team as a code owner July 14, 2026 08:39
@github-actions github-actions Bot added the @dre label Jul 14, 2026
@basvandijk
basvandijk added this pull request to the merge queue Jul 14, 2026
Merged via the queue into master with commit 194c6da Jul 14, 2026
37 checks passed
@basvandijk
basvandijk deleted the rustc-1.97.0 branch July 14, 2026 10:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants